package com.ruoyi.qywx.model.vo;

import cn.hutool.json.JSONUtil;
import com.ruoyi.common.utils.CollectionUtils;
import com.ruoyi.common.utils.StrUtils;
import com.ruoyi.qywx.entity.QyWelcomeTemplate;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * @author : hcl
 * @Date : 2023/8/11 09:32
 */
@Getter
@Setter
public class WelcomeVo {
    private String text;
    private List<Object> others;

    /**
     * 转换成数据entity
     *
     * @param welcomeId 已存在的欢迎语id 更新时使用
     */
    public QyWelcomeTemplate turnEntity(Long welcomeId) {
        QyWelcomeTemplate template = null;
        if (StrUtils.isNotEmpty(getText()) || CollectionUtils.isNotEmpty(getOthers())) {
            template = new QyWelcomeTemplate();
            template.setText(StrUtils.defaultString(getText()));
            if (CollectionUtils.isNotEmpty(getOthers())) {
                template.setOthers(JSONUtil.toJsonStr(getOthers()));
            }
            template.setId(welcomeId);
        }
        return template;
    }

    public void editWelcome(QyWelcomeTemplate welcom) {
        text = welcom.getText();
        if (StrUtils.isNotEmpty(welcom.getOthers())) {
            others = JSONUtil.parseArray(welcom.getOthers());
        }
    }

    public String validate() {
        if (CollectionUtils.isNotEmpty(others)) return null;
        if (StrUtils.isNotEmpty(text)) return null;
        return "请设置欢迎语";
    }
}
